#pragma once
#include "../Struct.h"
#include "../Config.h"

class KTUtil {
public:
	/******************************** Get Raw Datas : Road ************************************************/
	static bool isIdentified(int identification) { return identification == 1; }

	static int lineNum(int lineNum) { return lineNum; }
	static ALC alc(int arrValue1, int arrValue2);
	static bool isCrossing(int crossing) { return crossing == 1; }
	static LineStyle lineStyle(int type);
	static CColor lineColor(int colour);
	static LineEq lineEq(const CVector<float>& C, float rawStart, float rawEnd);
	static DCLC dclc(int direction);

	/******************************** Get Raw Datas : Model ************************************************/
	static ModelType modelType(int objClass);
	static P modelPos(float rawX, float rawY);
	static float angle(float radian) { return radian; }// unit: radians
	static bool isOncoming(int oncoming) { return oncoming == 1; }
	static glm::vec2 relSpeed(float speedX, float speedY);
	static MoveStatus moveStatus(int dynamicProp);
	static CColor modelColor(int objectColour);
	static bool isAccTracking(int trackingState) { return trackingState == 1; }

	/******************************** StandaloneStatus Datas ******************************************/
	static LDW ldw(int switchStatus, int departureTowards);
	static ACC_TG accTG(int accTimeLevel);
	static TailLamp tailLamp(int brakeLights, int blinkInfo);

private:
	KTUtil() = default;
};